Amazon Elastic Compute Cloud

Amazon Elastic Compute Cloud (EC2) is a central part of Amazon.com's cloud computing platform, Amazon Web Services (AWS). EC2 allows users to rent virtual computers on which to run their own computer applications. EC2 allows scalable deployment of applications by providing a Web service through which a user can boot an Amazon Machine Image to create a virtual machine, which Amazon calls an "instance", containing any software desired. A user can create, launch, and terminate server instances as needed, paying by the hour for active servers, hence the term "elastic". EC2 provides users with control over the geographical location of instances that allows for latency optimization and high levels of redundancy. [1]

In November 2010, Amazon made the switch of its own retail website to EC2 and AWS.[2]

Contents

History

Amazon announced a limited public beta of EC2 on August 25, 2006.[3] Access to EC2 was granted on a first come first served basis. Amazon added two new instance types (Large and Extra-Large) on October 16, 2007.[4] On May 29, 2008, two more types were added, High-CPU Medium and High-CPU Extra Large.[5] There are currently twelve types of instances available.[6]

Amazon added three new features on March 27, 2008.[7] These features included static IP addresses, Availability Zones, and User Selectable Kernels. Amazon added Elastic Block Store (EBS) on August 20, 2008.[8] This provides persistent storage, a basic feature that had been lacking since the service was introduced.

Amazon EC2 is in full production since it dropped the beta label on October 23, 2008. On the same day, Amazon announced the following features:[9] a service level agreement for EC2, Microsoft Windows in beta form on EC2, Microsoft SQL Server in beta form on EC2, plans for an AWS management console, and plans for load balancing, autoscaling, and cloud monitoring services.[9] These features were subsequently added on May 18, 2009.[10]

Amazon EC2 was mostly developed by a team in Cape Town, South Africa. The team was led by Chris Pinkham.[11][12][13][14] Pinkham provided the initial architecture guidance for EC2 and then built the team and led the development of the project. Other members of the early team included Chris Brown, Quinton Hoole, Roland Paterson-Jones and Willem Van Biljon.

Elastic compute units

The Elastic Compute Unit (ECU) was introduced by Amazon EC2 as an abstraction of compute resources. Amazon’s Definition of ECU notes “We use several benchmarks and tests to manage the consistency and predictability of the performance of an EC2 Compute Unit. One EC2 Compute Unit provides the equivalent CPU capacity of a 1.0-1.2 GHz 2007 Opteron or 2007 Xeon processor. This is also the equivalent to an early-2006 1.7 GHz Xeon processor referenced in our original documentation”

Virtual machines

EC2 uses Xen virtualization. Each virtual machine, called an "instance", functions as a virtual private server. Amazon.com sizes instances based on "Elastic Compute Units".

The performance of multiple identical virtual machines may vary.[15]

As of June 2011, Amazon charges ($0.02 to $0.03)/hour ($14.40 to $21.60)/month) for the smallest "Micro Instance" virtual machine running Linux or Windows, respectively. High CPU and DB instances cost as much as $2.48/hour. "Reserved" instances can go as low as $7.32/month for a three-year prepaid plan.[note 1][16] The data transfer charge ranges from free to $0.12 per gigabyte, depending on the direction and monthly volume (inbound data transfer is free on all AWS services[17])

Free Tier

As of December 2010 Amazon offers a bundle of free resource credits to new account holders. The credits are designed to run a "micro" sized server for one year. Charges are applied on demand so the credit need not be used in the first month.[18]

Reserved Instances

Reserved instances enable EC2 service users to reserve an instance for one or three years. There is a fee associated with reserving an instance. The corresponding per hour rate charged by Amazon to operate the instance is much less than the rate charged for on-demand instances.

Features

Operating systems

When it launched in August 2006, the EC2 service offered Linux and later Sun Microsystems' OpenSolaris and Solaris Express Community Edition. In October 2008, EC2 added the Windows Server 2003 and Windows Server 2008 operating systems to the list of available operating systems.[19][20] As of December 2010 it has also been reported to run FreeBSD; [21] in March 2011, NetBSD AMIs became available. [22]

Persistent Storage

An EC2 instance may be launched with a choice of two types of storage for its boot disk or "root device." The first option is a local "instance-store" disk as a root device (originally the only choice). The second option is to use an EBS volume as a root device.

Instance-store volumes are temporary storage, which survive rebooting an EC2 instance, but when the instance is terminated (e.g., by an API call, or due to a failure), this store is lost.

EBS volumes provide persistent storage independent of the lifetime of the EC2 instance, and act much like hard drives on a real server. More accurately, they appear as block devices to the operating system that are backed by Amazon's disk arrays. The OS is free to use the device however it wants. In the most common case, a file system is loaded and the volume acts as a hard drive. Another possible use is the creation of RAID arrays by combining two or more EBS volumes. RAID allows increases of speed and/or reliability of EBS. Users can set up and manage storage volumes of sizes from 1GB to 1TB. The volumes support snapshots, which can be taken from a GUI tool or the API. EBS volumes can be attached or detached from instances while they are running, and moved from one instance to another.[23]

Simple Storage Service (S3) is a storage system in which data is accessible to EC2 instances, or directly over the network to suitably authenticated callers (all communication is over HTTP). Amazon does not charge for the bandwidth for communications between EC2 instances and S3 storage "in the same region." Accessing S3 data stored in a different region (for example, data stored in Europe from a US East Coast EC2 instance) will be billed at Amazon's normal rates.

S3-based storage is priced per gigabyte per month. Applications access S3 through an API. For example, Apache Hadoop supports a special s3: filesystem to support reading from and writing to S3 storage during a MapReduce job. There are also S3 filesystems for Linux, which mount a remote S3 filestore on an EC2 image, as if it were local storage. As S3 is not a full POSIX filesystem, things may not behave the same as on a local disk (e.g., no locking support).

Elastic IP Addresses

Amazon's Elastic IP Address feature is similar to static IP address in traditional data centers, with one key difference. A user can programmatically map an Elastic IP Address to any virtual machine instance without a network administrator's help and without having to wait for DNS to propagate the new binding. In this sense an Elastic IP Address belongs to the account and not to a virtual machine instance. It exists until it is explicitly removed. It can also be used as unused IP address. Partial IPv6 is provided in the US East (Northern Virginia) and EU (Ireland) regions.[24]

Amazon CloudWatch

Amazon CloudWatch is a Web service that provides real-time monitoring to Amazon's EC2 customers on their resource utilization such as CPU, disk and network. Cloudwatch does not provide any memory, disk space, or load average metrics. An Amazon engineer has stated that this is due to the requirement to install software in the VM - something they wish to avoid.[25] The data is aggregated and provided through AWS management console. It can also be accessed through command line tools and Web API's, if the customer desires to monitor their EC2 resources through their enterprise monitoring software.

The metrics collected by Amazon CloudWatch enables Auto Scaling feature to dynamically add or remove EC2 instances. The customers are charged by the number of monitoring instances.

Since May 2011, Amazon CloudWatch accepts custom metrics that can be submitted programmatically via Web Services API and then monitored the same way as all other internal metrics, including setting up the alarms for them.

Automated Scaling

Amazon's Auto Scaling feature of EC2 allows it to automatically adapt computing capacity to site traffic.

Reliability

To make EC2 more fault-tolerant, Amazon engineered Availability Zones that are designed to be insulated from failures in other availability zones. Availability zones do not share the same infrastructure. Applications running in more than one availability zone can achieve higher availability.

EC2 provides users with control over the geographical location of instances that allows for latency optimization and high levels of redundancy. For example, to minimize downtime, a user can set up server instances in multiple zones that are insulated from each other for most causes of failure such that one backs up the other.

High availability database services, like Amazon Relational Database Service run on top of EC2 instances.

Issues

In early July 2008 the anti-spam organizations Outblaze and Spamhaus.org began blocking Amazon's EC2 address pool due to problems with the distribution of spam and malware.[26]

On December 1, 2010 Amazon pulled its service to WikiLeaks after coming under political pressure in the USA.[27] The Internet group Anonymous attempted to attack EC2 in revenge; however, Amazon was not affected by the attack.[28]

Amazon's websites were temporarily offline on December 12, 2010, although it was initially unclear if this was due to attacks or a hardware failure.[29] An Amazon official later stated that it was due to a hardware failure.

Shortly before 5 AM Eastern on April 21, 2011, an outage started at EC2's northern Virginia data center that brought down several websites including Foursquare, Springpad, Reddit, Quora, BigDoor and Hootsuite.[30][31][32] Specifically, attempts to use Amazon's elastic-disk and database services hung, failed, or were slow. Service was restored to some parts of the datacenter (three of four "availability zones" in Amazon's terms) by late afternoon Eastern time that day;[33] problems for at least some customers were continuing as of April 25.[34] 0.07% of EBS volumes in one zone have also been lost; EBS failures were a part of normal operation even before this outage and were a risk documented by Amazon,[35] though the number of failures and the number of simultaneous failures may find some EC2 users unprepared.

On Sunday August 6th 2011, Amazon suffered a power outage in one of their Ireland availability zones.[36] Lightning was originally blamed for the outage; however, on August 11th, Irish energy supplier ESB Networks dismissed this as a cause, but at time of writing, could not confirm what the cause of the problem was.[37] The power outage raised multiple questions regarding Amazon's EBS infrastructure, which caused several bugs in their software to be exposed. The bugs resulted in some customers' data being deleted when recovering EBS volumes in a mid-write operation during the crash.[38]

August 8th, 2011 saw another network connectivity outage of Amazon's Northern Virginia datacenter, knocking out the likes of Reddit, Quora, Netflix and FourSquare.[39] The outage lasted around 25 minutes.

See also

References

  1. ^ LaMonica, Martin (March 27, 2008). "Amazon Web Services adds 'resiliency' to EC2 compute service". CNet News. http://www.news.com/8301-10784_3-9904091-7.html. Retrieved August 1, 2009. 
  2. ^ AWS Cloud Tour 2011 on YouTube
  3. ^ Barr, Jeff (August 25, 2006). [http://aws.typepad.com/aws/2006/08/amazon_ec2_beta.html "Amazon EC2 BetaHistory Amazon announced a limited public beta of EC2 on August 25, 2006.[2] Access to EC2 was granted on a first come first served basis. Amazon added two new instance types (Large and Extra-Large) on October 16, 2007.[3] On May 29, 2008, two more types called High-CPU Medium and High-CPU Extra Large were added.[4] There are currently twelve types of"]. Amazon Web Services Blog. http://aws.typepad.com/aws/2006/08/amazon_ec2_beta.html. Retrieved August 1, 2009. 
  4. ^ Jinesh (October 16, 2007). "Amazon EC2 Gets More Muscle". http://aws.typepad.com/aws/2007/10/amazon-ec2-gets.html. 
  5. ^ Barr, Jeff (May 29, 2008). "More EC2 power". Amazon Web Services Blog. http://aws.typepad.com/aws/2008/05/more-ec2-power.html. Retrieved August 1, 2009. 
  6. ^ http://aws.amazon.com/ec2/instance-types/
  7. ^ Barr, Jeff (March 27, 2008). "New EC2 Features". Amazon Web Services Blog. http://aws.typepad.com/aws/2008/03/new-ec2-feature.html. Retrieved August 1, 2009. 
  8. ^ Barr, Jeff (August 20, 2008). "Amazon EBS (Elastic Block Store) - Bring Us Your Data". Amazon Web Services Blog. http://aws.typepad.com/aws/2008/08/amazon-elastic.html. Retrieved August 1, 2009. 
  9. ^ a b Barr, Jeff (August 23, 2008). "Big Day For EC2". Amazon Web Services Blog. http://aws.typepad.com/aws/2008/10/big-day-for-ec2.html. Retrieved August 1, 2009. 
  10. ^ Barr, Jeff (May 18, 2009). "New Features for EC2". Amazon Web Services Blog. http://aws.typepad.com/aws/2009/05/new-aws-load-balancing-automatic-scaling-and-cloud-monitoring-services.html. Retrieved August 1, 2009. 
  11. ^ "Amazon opens Cape software centre". July 19, 2005. http://ww2.itweb.co.za/sections/business/2005/0507191033.asp?. 
  12. ^ "Amazon opens dev centre in Cape Town". July 20, 2005. http://www.oneafrikan.com/2005/07/20/amazon-opens-dev-centre-in-cape-town/. 
  13. ^ "Amazon's Pinkham quits". Nov 29, 2006. http://ww2.itweb.co.za/sections/internet/2006/0611291035.asp?A=BSR&S=BestRead&O=FPIN. 
  14. ^ "Amazon’s early efforts at cloud computing? Partly accidental". June 17, 2010. http://itknowledgeexchange.techtarget.com/cloud-computing/2010/06/17/amazons-early-efforts-at-cloud-computing-partly-accidental/. 
  15. ^ J. Dejun, G. Pierre and C.-H. Chi. EC2 Performance Analysis for Resource Provisioning of Service-Oriented Applications. In Proceedings of the Workshop on Non-Functional Properties and SLA Management in Service-Oriented Computing, November 2009.
  16. ^ http://aws.amazon.com/ec2/#pricing
  17. ^ "AWS Lowers its Pricing Again! – No Inbound Data Transfer Fees and Lower Outbound Data Transfer for All Services including Amazon CloudFront". typepad.com. June 29, 2011. http://aws.typepad.com/aws/2011/06/aws-lowers-its-pricing-again-free-inbound-data-transfer-and-lower-outbound-data-transfer-for-all-ser.html. Retrieved July 6, 2011. 
  18. ^ "Amazon Announces Free Starter Time". 1201Restart.com. December 2010. http://1201restart.com/node/10. Retrieved December 18, 2010. 
  19. ^ Shankland, Stephen (October 23, 2008). "Amazon's Linux cloud computing out of beta, joined by Windows". CNet News. http://news.cnet.com/8301-17939_109-10073696-2.html. Retrieved October 24, 2008. 
  20. ^ "Amazon Elastic Compute Cloud (EC2) Running Microsoft Windows Server and SQL Server". Amazon.com. October 23, 2008. http://aws.amazon.com/windows/. Retrieved October 25, 2008. 
  21. ^ http://www.daemonology.net/freebsd-on-ec2/
  22. ^ http://blog.netbsd.org/tnf/entry/netbsd_now_runs_under_amazon
  23. ^ "Introduction to EBS Volumes". 1201 Restart.com. December, 2010. http://1201restart.com/Articles/Introduction_to_EBS_Volumes. Retrieved December 18, 2010. 
  24. ^ http://aws.typepad.com/aws/2011/05/elastic-load-balancing-ipv6-zone-apex-support-additional-security.html
  25. ^ "Whitak, Chris". "Cloudwatch for memory usage"
  26. ^ Krebs, Brian (July 1, 2008). "Amazon: Hey Spammers, Get Off My Cloud!". Washington Post. http://blog.washingtonpost.com/securityfix/2008/07/amazon_hey_spammers_get_off_my.html. Retrieved August 1, 2009. 
  27. ^ MacAskill, Ewen (December 2, 2010). "WikiLeaks website pulled by Amazon after US political pressure". The Guardian (London). http://www.guardian.co.uk/media/2010/dec/01/wikileaks-website-cables-servers-amazon. 
  28. ^ http://www.guardian.co.uk/news/blog/2010/dec/09/wikileaks-us-embassy-cables-live-updates. The Guardian, 9th December 2010.
  29. ^ http://www.guardian.co.uk/technology/blog/2010/dec/13/amazon-failure-not-hacking-wikileaks. The Guardian 13th December 2010
  30. ^ Pepitone, Julianne (April 21, 2011). "Amazon EC2 outage downs Reddit, Quora". CNN. http://money.cnn.com/2011/04/21/technology/amazon_server_outage/index.htm. 
  31. ^ Lohr, Steve (April 22, 2011). "Amazon Malfunction Raises Doubts About Cloud Computing". The New York Times. http://www.nytimes.com/2011/04/23/technology/23cloud.html. 
  32. ^ "Cloud storm, EC2 startup takedown". DoesWhat. April 21, 2011. http://www.doeswhat.com/2011/04/21/cloud-storm-amazons-ec2-takes-down-startups/. 
  33. ^ http://status.aws.amazon.com/, 6:18 PM PDT April 21 2011 entry, says "all Availability Zones except one have been functioning normally for the past 5 hours."
  34. ^ http://status.aws.amazon.com/, April 25 entry.
  35. ^ Amazon Elastic Block Store (EBS) section "Volume Durability"
  36. ^ "Lightning strikes Amazon's European cloud". August 8, 2011. http://www.zdnet.co.uk/news/cloud/2011/08/08/lightning-strikes-amazons-european-cloud-40093641/. 
  37. ^ "Amazon web outage not caused by lightning". August 11, 2011. http://www.theregister.co.uk/2011/08/11/esb_web_outage/. 
  38. ^ "AWS cloud accidentally deletes customer data". August 10, 2011. http://www.zdnet.co.uk/news/cloud/2011/08/10/aws-cloud-accidentally-deletes-customer-data-40093665/. 
  39. ^ "Amazon cloud outage downs Netflix, Quora". August 9, 2011. http://news.cnet.com/8301-1023_3-20089866-93/amazon-cloud-outage-downs-netflix-quora/. 

Notes

  1. ^ $82 for a three-year reservation amortized over thirty-six months plus one month at $0.007/hour.

External links